// 1. 抽象支付接口
abstract class Payment {
  void pay(double amount); // 统一的支付方法
}

// 2. 具体支付实现
class Alipay implements Payment {
  @override
  void pay(double amount) {
    print("支付宝支付: ¥$amount");
  }
}

class WechatPay implements Payment {
  @override
  void pay(double amount) {
    print("微信支付: ¥$amount");
  }
}

class BankCard implements Payment {
  @override
  void pay(double amount) {
    print("银行卡支付: ¥$amount");
  }
}

void main() {
  // 创建不同支付对象
  final ali = Alipay();
  final wechat = WechatPay();
  final bankCard = BankCard();

  // 多态调用
  ali.pay(100); // 输出：支付宝支付: ¥100
  wechat.pay(200); // 输出：微信支付: ¥200
  bankCard.pay(300); // 输出：银行卡支付: ¥300
}